﻿/*********************************************************
 * 开发人员：小兵
 * 创建时间：2012-10-15 15:52:54
 * 描述说明：
 * 
 * 更改历史：
 * 
 * *******************************************************/
namespace Mozlite.Components
{
    using System;
    using System.Web;
    using System.Data;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    /// <summary>
    /// 关键字过滤接口。
    /// </summary>
    public interface IWordFilter
    {
        /// <summary>
        /// 添加关键词。
        /// </summary>
        /// <param name="key">关键词。</param>
        void AddKey(string key);
        /// <summary>
        /// 判断当前字符串中是否含有关键词。
        /// </summary>
        /// <param name="text">输入的字符串。</param>
        /// <returns>如果存在返回<c>true</c>，否则返回<c>false</c>。</returns>
        bool HasKey(string text);
        /// <summary>
        /// 查找并返回第一个关键词。
        /// </summary>
        /// <param name="text">输入的字符串。</param>
        /// <returns>如果存在则返回第一个关键词，否则返回String.Empty。</returns>
        string Find(string text);
        /// <summary>
        /// 查找字符串中所有关键词。
        /// </summary>
        /// <param name="text">输入的字符串。</param>
        /// <returns>返回关键词列表。</returns>
        List<string> FindAll(string text);
        /// <summary>
        /// 执行关键词替换。
        /// </summary>
        /// <param name="text">输入的字符串。</param>
        /// <param name="mask">替换字符。</param>
        /// <returns>返回替换后的字符串。</returns>
        string Replace(string text, char mask = '*');
    }
}
